// 验证用户登陆
import axios from 'axios'
const baseURL = 'http://localhost:8888/api/private/v1/'
// 什么是基准url:我们的请求就是路由名称，但是这个路由要基于服务器，设置基准路径的目的就是能够先找到对应的服务器，再匹配它里面设置的路由
axios.defaults.baseURL = baseURL
// 添加拦截器你
axios.interceptors.request.use(function (config) {
  // 获取touken 设置请求头
  var token = localStorage.getItem('mytoken')
  if (token) {
    config.headers['Authorization'] = token
  }
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

// 1.1.1登录验证接口
export const login = (loginForm) => {
  return axios.post('login', loginForm).then((res) => {
    return res.data
  })
}
// 1.2.1. 用户数据列表
export const getAlldata = (Promis) => {
  return axios.get('users', {
    params: Promis
  }).then((res) => {
    return res.data
  })
}
// 1.2.2. 添加用户
export const addUser = (Promis) => {
  return axios.post('users', Promis).then((res) => {
    return res.data
  })
}
// 1.2.3. 修改用户状态
export const upduseractive = (params) => {
  return axios.put('users/' + params.id + '/state/' + params.mg_state).then((res) => {
    return res.data
  })
}
// 1.2.4. 根据ID查询用户信息
export const getByIdUsers = (id) => {
  return axios.get(`users/${id}`).then((res) => {
    return res
  })
}
// 1.2.5. 编辑用户提交
export const putuserdata = (params) => {
  return axios.put('users/' + params.id, params).then((res) => {
    return res.data
  })
}
// 1.2.6. 删除单个用户
export const deluserdata = (id) => {
  return axios.delete('users/' + id).then((res) => {
    return res.data
  })
}
// 1.2.7. 分配用户角色
export const setuserroles = (params) => {
  return axios.put(`users/${params.id}/role`, {rid: params.rid}).then((res) => {
    return res.data
  })
}
// 1.3.1. 所有权限列表
export const getALRrights = (type) => {
  return axios.get(`rights/${type}`).then(res => {
    return res.data
  })
}
// 1.3.2. 左侧菜单权限
export const getMenus = () => {
  return axios.get('menus').then((res) => {
    return res
  })
}
// 1.4.1角色列表
export const getAllroles = () => {
  return axios.get('roles').then((res) => {
    return res.data
  })
}
// 1.4.2. 添加角色
export const addroles = (pa) => {
  return axios.post('roles', pa).then((res) => {
    return res.data
  })
}
// 1.4.3. 根据ID查询角色
export const getByIdRoles = (id) => {
  return axios.get(`roles/${id}`).then((res) => {
    return res.data
  })
}
// 1.4.4. 编辑提交角色
export const editRoles = (pa) => {
  return axios.put(`roles/${pa.id}`, pa).then((res) => {
    return res.data
  })
}
// 1.4.5. 删除角色
export const delRoles = (id) => {
  return axios.delete(`roles/${id}`).then((res) => {
    return res.data
  })
}
// 1.4.6. 角色授权
export const accreditRoles = (roleId, rids) => {
  return axios.post(`roles/${roleId}/rights`, {rids: rids}).then((res) => {
    return res.data
  })
}
// 1.4.7. 删除角色指定权限
export const delRolesAccredit = (roleId, rightId) => {
  return axios.delete(`roles/${roleId}/rights/${rightId}`).then((res) => {
    return res.data
  })
}
// 1.5.1. 商品数据列表
export const getAllcategories = (type) => {
  return axios.get('categories', {params: {type: type}}).then((res) => {
    return res.data
  })
}
// 1.5.2. 添加分类
export const addcategories = (pa) => {
  return axios.post('categories', pa).then((res) => {
    return res.data
  })
}
// 1.5.3. 根据id查询分类
export const getByIdcategories = (id) => {
  return axios.get(`categories/${id}`).then((res) => {
    return res.data
  })
}
// 1.5.4. 编辑提交分类
export const editcategories = (pa) => {
  return axios.put(`categories/${pa.id}`, pa).then((res) => {
    return res.data
  })
}
// 1.5.5. 删除分类
export const delcategories = (id) => {
  return axios.delete(`categories/${id}`).then((res) => {
    return res.data
  })
}
// 1.6.1. 参数列表
export const getALLattributes = (id, sel) => {
  return axios.get(`/${id}/attributes`, {sel: sel}).then(res => {
    return res.data
  })
}
// 1.7.1. 商品列表数据
export const getAllGoods = (pa) => {
  return axios.get(`goods`, {params: pa}).then(res => {
    return res.data
  })
}
